#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int NN=5e5+4;
int a[NN],maxx[NN];
ll f[NN];
int main()
{
    freopen("gonna.in","r",stdin);
    freopen("gonna.out","w",stdout);
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    int m;
    scanf("%d",&m);
    for(int i=1;i<=m;i++)
    {
        int l,r;
        scanf("%d%d",&l,&r);
        maxx[r]=max(maxx[r],l);
    }
    for(int i=1;i<=n;i++)
        maxx[i]=max(maxx[i],maxx[i-1]);
    multiset<ll>st;
    st.insert(f[0]);
    for(int i=1,j=0;i<=n;i++)
    {
        f[i]=*st.begin()+a[i];
        st.insert(f[i]);
        while(j<maxx[i])
            st.erase(st.find(f[j++]));
    }
    printf("%lld",*st.begin());
    return 0;
}